#ifndef __GPIO_LED_H
#define __GPIO_LED_H
#include "stm32f10x.h"

//led1
#define LED1_GPIO_PORT      GPIOA                 //GPIO端口
#define LED1_GPIO_RCC_PORT  RCC_APB2Periph_GPIOA  //GPIO时钟端口
#define LED1_GPIO_PIN       GPIO_Pin_1            //对应针脚


//led2
#define LED2_GPIO_PORT      GPIOA                 //GPIO端口
#define LED2_GPIO_RCC_PORT  RCC_APB2Periph_GPIOA  //GPIO时钟端口
#define LED2_GPIO_PIN       GPIO_Pin_2            //对应针脚


//led3
#define LED3_GPIO_PORT      GPIOA                 //GPIO端口
#define LED3_GPIO_RCC_PORT  RCC_APB2Periph_GPIOA  //GPIO时钟端口
#define LED3_GPIO_PIN       GPIO_Pin_3            //对应针脚

/*******************************核心板led************************************/

/*LED_R红灯*/
#define R_LED_GPIO_PORT      LED1_GPIO_PORT     //GPIO端口
#define R_LED_GPIO_RCC_PORT  LED1_GPIO_RCC_PORT //GPIO时钟端口
#define R_LED_GPIO_PIN       LED1_GPIO_PIN      //对应针脚

/*LED_G绿灯*/
#define G_LED_GPIO_PORT      LED2_GPIO_PORT      //GPIO端口
#define G_LED_GPIO_RCC_PORT  LED2_GPIO_RCC_PORT  //GPIO时钟端口
#define G_LED_GPIO_PIN       LED2_GPIO_PIN       //对应针脚

/*LED_B蓝灯*/
#define B_LED_GPIO_PORT      LED3_GPIO_PORT      //GPIO端口
#define B_LED_GPIO_RCC_PORT  LED3_GPIO_RCC_PORT  //GPIO时钟端口
#define B_LED_GPIO_PIN       LED3_GPIO_PIN       //对应针脚

/*******************************用户自定义************************************************/

//R_LED
#define R_LED_ON_ONLY   Led_On(R_LED_GPIO_PORT,  R_LED_GPIO_PIN);\
                        Led_Off(G_LED_GPIO_PORT, G_LED_GPIO_PIN);\
                        Led_Off(B_LED_GPIO_PORT, B_LED_GPIO_PIN);

//G_LED
#define G_LED_ON_ONLY   Led_Off(R_LED_GPIO_PORT,  R_LED_GPIO_PIN);\
                        Led_On(G_LED_GPIO_PORT, G_LED_GPIO_PIN);\
                        Led_Off(B_LED_GPIO_PORT, B_LED_GPIO_PIN);

//B_LED
#define B_LED_ON_ONLY   Led_Off(R_LED_GPIO_PORT,  R_LED_GPIO_PIN);\
                        Led_Off(G_LED_GPIO_PORT, G_LED_GPIO_PIN);\
                        Led_On(B_LED_GPIO_PORT, B_LED_GPIO_PIN);
//B_LED
#define ALL_LED_ON_ONLY   Led_On(R_LED_GPIO_PORT,  R_LED_GPIO_PIN);\
                        Led_On(G_LED_GPIO_PORT, G_LED_GPIO_PIN);\
                        Led_On(B_LED_GPIO_PORT, B_LED_GPIO_PIN);
//B_LED
#define ALL_LED_OFF_ONLY   Led_Off(R_LED_GPIO_PORT,  R_LED_GPIO_PIN);\
                        Led_Off(G_LED_GPIO_PORT, G_LED_GPIO_PIN);\
                        Led_Off(B_LED_GPIO_PORT, B_LED_GPIO_PIN);

void Led_Config(void);
void Led_On(GPIO_TypeDef *GPIOx,uint16_t GPIO_Pin);
void Led_Off(GPIO_TypeDef *GPIOx,uint16_t GPIO_Pin);
#endif /*__GPIO_LED_H*/
